<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
//$key = "This is supposed to be a secret key !!!"; 估计是密阴
        $key = "qzzm";

        function keyED($txt, $encrypt_key) {
            $encrypt_key = md5($encrypt_key);
            $ctr = 0;
            $tmp = "";
            for ($i = 0; $i < strlen($txt); $i++) {
                if ($ctr == strlen($encrypt_key))
                    $ctr = 0;
                $tmp.= substr($txt, $i, 1) ^ substr($encrypt_key, $ctr, 1);
                $ctr++;
            }
            return $tmp;
        }

        function encrypt($txt, $key) {
            srand((double) microtime() * 1000000);
            $encrypt_key = md5(rand(0, 32000));
            $ctr = 0;
            $tmp = "";
            for ($i = 0; $i < strlen($txt); $i++) {
                if ($ctr == strlen($encrypt_key))
                    $ctr = 0;
                $tmp.= substr($encrypt_key, $ctr, 1) .
                        (substr($txt, $i, 1) ^ substr($encrypt_key, $ctr, 1));
                $ctr++;
            }
            return keyED($tmp, $key);
        }

        function decrypt($txt, $key) {
            $txt = keyED($txt, $key);
            $tmp = "";
            for ($i = 0; $i < strlen($txt); $i++) {
                $md5 = substr($txt, $i, 1);
                $i++;
                $tmp.= (substr($txt, $i, 1) ^ $md5);
            }
            return $tmp;
        }

        $string = "abc";

// 开始加密 encrypt $string, and store it in $enc_text
        $enc_text = encrypt($string, $key);

// 开始解密 decrypt the encrypted text $enc_text, and store it in $dec_text
        $dec_text = decrypt($enc_text, $key);

        print "原始字符串 : $string <Br>\n";
        print "加密后字串 : $enc_text <Br>\n";
        print "解密后字串 : $dec_text <Br>\n";
        ?>
    </body>
</html>
